﻿Public Class clsTextBuilder
#Region "Propiedades"
    Private MiStringBuilder As System.Text.StringBuilder
#End Region

#Region "Constructor"
    Public Sub New()
        Call InicializarStringBuilder()
    End Sub
#End Region

#Region "Propiedades"
#End Region

#Region "Funciones de la Clase"
    ''' <summary>
    ''' Agrega una nueva cadena de texto al texto ya existente
    ''' </summary>
    ''' <param name="CadenaTexto">cadena de texto a agregar</param>
    ''' <remarks></remarks>
    Public Sub AgregarString(ByVal CadenaTexto As String)
        If Trim(CadenaTexto) <> "" Then Me.MiStringBuilder.Append(CadenaTexto.ToString)
    End Sub

    ''' <summary>
    ''' Devuelve el texto que contiene el StringBuilder
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function DevuelveText() As String
        Return Me.MiStringBuilder.ToString
    End Function

    ''' <summary>
    ''' Limpia el StringBuilder
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub Limpiar()
        Call InicializarStringBuilder()
    End Sub

    ''' <summary>
    ''' Reemplaza una cadena dentro de los valores existentes
    ''' </summary>
    ''' <param name="CadenaBusqueda">Cadena que se buscara en el texto</param>
    ''' <param name="CadenaNueva">Texto que se pegara en el texto</param>
    ''' <remarks></remarks>
    Public Sub ReemplazarTexto(ByVal CadenaBusqueda As String, ByVal CadenaNueva As String)
        Me.MiStringBuilder.Replace(CadenaBusqueda, CadenaNueva)
    End Sub

    ''' <summary>
    ''' Elimina desde la memoria el objeto
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub Dispose()
        Try
            Me.MiStringBuilder = Nothing
            GC.SuppressFinalize(Me)
        Catch ex As Exception
        End Try
    End Sub
#End Region

#Region "Propiedades Internas"
    Private Sub InicializarStringBuilder()
        MiStringBuilder = New System.Text.StringBuilder
    End Sub
#End Region
End Class
